////////////////////////////////////////////////////////////////////////////////

#pragma once

////////////////////////////////////////////////////////////////////////////////

#include "Items/SmartPointer.h"

////////////////////////////////////////////////////////////////////////////////

namespace dxcodegen
{
  namespace Items
  {
    class CppMacro : public SmartPointer
    {
    public:

      CppMacro(const std::string& left, const std::string& right);
      virtual ~CppMacro();

      void SetLeft(const std::string& left);
      std::string& GetLeft(void);

      void SetRight(const std::string& right);
      std::string& GetRight(void);

    protected:

      std::string m_left;
      std::string m_right;

    };

    ////////////////////////////////////////////////////////////////////////////

    typedef smart_ptr<CppMacro> CppMacroPtr;

    ////////////////////////////////////////////////////////////////////////////
  }
}

////////////////////////////////////////////////////////////////////////////////
